package com.tech.exception;

import java.text.MessageFormat;

/**
* @Title TechBizRuntimeException.java
* @Description TODO
* 业务运行时异常，所有业务异常均要继承此异常
* @author willard
* @date 2018年4月29日 下午4:59:01
* @version V1.0
*/
public class BaseBizException extends Exception{

    /** 
    * @Fields serialVersionUID : TODO 
    */ 
    private static final long serialVersionUID = 1L;
    /**
     * 异常ID，用于表示某一异常实例，每一个异常实例都有一个唯一的异常ID
     */
    //protected String id;
    /** 
    * 异常码
    * @Fields defineCode : TODO 
    */
    protected String defineCode;
    /** 
     * 异常信息：可以包含必要的上下文业务信息
    * @Fields message : TODO 
    */ 
    protected String message;
    
    protected String realClassName;

    /** 
    * <p>Title: </p> 
    * <p>Description: 构造函数初始化message </p> 
    * @param message 
    */
    protected BaseBizException(String message) {
        this.message = message;
    }
    
    /** 
    * <p>Title: </p> 
    * <p>Description: </p> 
    * @param defineCode 异常码
    * @param message  异常消息
    */
    protected  BaseBizException(String defineCode,String message){
        this.defineCode = defineCode;
        this.message = message;
    }
    
    public void setMessage(String message, Object... args) {
        this.message = MessageFormat.format(message, args);
    }
    
    public String getMessage() {
        return message;
    }
    
    public String getDefineCode() {
        return defineCode;
    }
}